Vertikalni text

Otázka od: Jan Rizek

3. 5. 2004 20:00

Potreboval bych psat v aplikaci vertikalne. Hledam neco jako VerticalLabel.

  Nevite nekdo o necem, co bych na to mohl pouzit?

  JR


Odpovedá: Radek Szurman

3. 5. 2004 20:00

Videl bych to asi tak ze bys pouzil image a na jeho canvas lze psat v
jakemkoli uhlu.
na Google urcite najdes spoustu prikladu.

Radek Szurman


> Potreboval bych psat v aplikaci vertikalne. Hledam neco jako
VerticalLabel.
>
> Nevite nekdo o necem, co bych na to mohl pouzit?
>
> JR
>
>
>
>


Odpovedá: Jakub Dusek

3. 5. 2004 20:00

TImage bych na to neplytval   Canvas ma uz TGraphicControl, takze je
lepsi si udelat potomka z nej.

Jakub Dusek
----------------------------------------------------------------------
web: http://www.corexpert.com, mobile: +420 604 615 795, ICQ: 86063232
odesilani smsek, vizitek, log a melodii, snadna integrace do Vaseho IS
     => Sms GateKeeper, Sms GateKeeper Service

======================================================================
Monday, May 3, 2004, 5:21:15 PM, you wrote:

RS> Videl bych to asi tak ze bys pouzil image a na jeho canvas lze psat v
RS> jakemkoli uhlu.
RS> na Google urcite najdes spoustu prikladu.

RS> Radek Szurman


Odpovedá: StuPe

5. 5. 2004 10:29

Tu mas priklad, ktery mi jede (at zije PohledVen Ekspress, co to zprznil):

  function drawCopy(img: TImage): boolean;
  var
    hFnt: HFONT;
    h, w: integer;
  const
    Tx = 'Zkopiruj informace do schranky';
  begin // nakreslit svisly text CopyImage a CopyPanel
    With img.Canvas do begin
      h:= -MulDiv(10, GetDeviceCaps(Handle, LOGPIXELSY), 72);
      file://w:= MulDiv(TImage(Sender).Height div length(Tx),
GetDeviceCaps(Handle, LOGPIXELSY), 72);
      w:= img.Height div length(Tx+' ');
      hFnt:= CreateFont(
        h, w,
        90*10, 0, // uhel, orientace
        0,1,0,0, file://bold, fdwItalic, fdwUnderline, fdwStrikeOut
        EASTEUROPE_CHARSET, // znakova sada
        0, 0, 0, file://fdwOutputPrecision, fdwClipPrecision
        0,//PROOF_QUALITY, file://fdwQuality
        PChar('Arial') file://fdwPitchAndFamily
      );
      SetTextAlign(Handle, TA_CENTER);
      Font.Handle:= hFnt;
      Brush.color:= clBtnFace;
      FillRect(img.canvas.ClipRect);
      Brush.Style:= bsClear;
      Font.Color:= clWindowText;
      ExtTextOut(Handle, 2, Img.Height div 2, 0, nil,
        PChar(Tx), length(Tx), nil);
      TWinControl(img.Parent).Width:= 2 + TextHeight(Tx) + 2;
    end;
    DeleteObject(hFnt);
    Result:= True;
  end;

stupe


----- Puvodni zprava -----
Od: "Radek Szurman" <surad@digijoe.com>
Komu: <delphi-l@clexpert.cz>
Odeslano: 3. kvetna 2004 17:21
Predmet: Re: Vertikalni text


> Videl bych to asi tak ze bys pouzil image a na jeho canvas lze psat v
> jakemkoli uhlu.
> na Google urcite najdes spoustu prikladu.
>
> Radek Szurman
>
>
> > Potreboval bych psat v aplikaci vertikalne. Hledam neco jako
> VerticalLabel.
> >
> > Nevite nekdo o necem, co bych na to mohl pouzit?
> >
> > JR
> >
> >
> >
> >
>
>
>
>
>